package com.jiazhong.递归;

import java.util.Objects;
import java.util.Scanner;

public class MiGong {
    public static void main(String[] args) {
        int mg[][] = new int[8][7];
        //行壁垒
        for (int i = 0; i < 7; i++) {
            mg[0][i] = 1;
            mg[7][i] = 1;
        }
        //列壁垒
        for (int i = 0; i < 8; i++) {
            mg[i][0] = 1;
            mg[i][6] = 1;
        }
        mg[3][1] = 1;
        mg[3][2] = 1;
        mg[2][2] = 1;
        mg[1][1] = 2;
        System.out.println("==========地图情况========");
        for (int i = 0; i < mg.length; i++) {
            for (int j = 0; j < mg[i].length; j++) {
                System.out.print(mg[i][j] + " ");
            }
            System.out.println();
        }
        Mg mg1 = new Mg();
        mg1.findWay(mg, 1, 1);
//        System.out.println("找路情况如下");
//        for (int i = 0; i < mg.length; i++) {
//            for (int j = 0; j < mg[i].length; j++) {
//                System.out.print(mg[i][j] + " ");
//            }
//            System.out.println();
//        }
    }
}

class Mg {
    public void findWay(int mg[][], int i, int j) {
        boolean flag = true;
        do {
            if (mg[6][5] == 2) {
                break;
            }
            System.out.println("请执行操作(wasd为上左下右)：");
            Scanner scanner = new Scanner(System.in);
            char move=scanner.next().charAt(0);
            if (move=='w') {
                if (mg[i - 1][j] != 1) {
                    i -= 1;
                    mg[i][j] = 2;
                }
                else {
                    System.out.println("撞墙啦!");
                }
            } else if (move=='a') {
                if (mg[i][j - 1] != 1) {
                    j -= 1;
                    mg[i][j] = 2;
                }
                else {
                    System.out.println("撞墙啦！");
                }
            } else if (move=='s') {
                if (mg[i + 1][j] != 1) {
                    i += 1;
                    mg[i][j] = 2;
                }
                else {
                    System.out.println("撞墙啦！");
                }
            } else if (move=='d') {
                if (mg[i][j + 1] != 1) {
                    j += 1;
                    mg[i][j] = 2;
                }
                else {
                    System.out.println("撞墙啦！");
                }
            }
            for (int k = 0; k < mg.length; k++) {
                for (int l = 0; l < mg[i].length; l++) {
                    System.out.print(mg[k][l] + " ");
                }
                System.out.println();
            }
        }
        while (flag);
    }
}
//class Mg {
//    public boolean findWay(int mg[][], int i, int j) {
//        if(mg[6][5]==2)
//            return true;
//        else {
//            if (mg[i][j]==0){
//                mg[i][j]=2;
//                if (findWay(mg,i+1,j)){
//                    return true;
//                }
//                else if (findWay(mg,i,j+1)){
//                    return true;
//                }
//                else if (findWay(mg, i-1, j)){
//                    return true;
//                }
//                else if (findWay(mg, i, j-1)){
//                    return true;
//                }
//                else {
//                    mg[i][j]=3;
//                    return false;
//                }
//            }else
//                return false;
//        }
//    }
//}
